PHP Notice: Undefined index: hatası acil yardım!
merhaba ;
Script için cron işi ayarladığım zaman error log dosyasında söyle bir uyarı ile karşılaşıyorum.cron işi yapmıyor.
[05-Feb-2017 05:55:01] PHP Notice: Undefined index: argv in /home/public_html/init-parse.php on line 64
[05-Feb-2017 05:55:01] PHP Notice: Undefined index: SCRIPT_NAME in /home/public_html/variables.php on line 91
init.parse.php kodları şu şekilde
<?php
* The general (non-delivery engine) function to parse the configuration .ini file
*
* @param string $configPath The directory to load the config file from.
* Default is Max's /var directory.
* @param string $configFile The configuration file name (eg. "geotargeting").
* Default is no name (ie. the main Max
* configuration file).
* @param boolean $sections Process sections, as per parse_ini_file().
* @param string $type The config file type value (eg. ".php"). Allows BC
* support for old ".ini" files.
*
* @return mixed The array resulting from the call to parse_ini_file(), with
* the appropriate .php file for the installation.
*/
function parseIniFile($configPath = null, $configFile = null, $sections = true, $type = '.php')
{
// Set up the configuration .ini file path location
if (is_null($configPath)) {
$configPath = MAX_PATH . '/var';
}
// Set up the configuration .ini file type name
if (!is_null($configFile)) {
$configFile = '.' . $configFile;
}
// Is this a web, or a cli call?
if (is_null($configFile) && !isset($_SERVER['SERVER_NAME'])) {
if (!isset($GLOBALS['argv'][1]) && !file_exists($configPath . '/default' . $configFile . '.conf' . $type)) {
echo MAX_PRODUCT_NAME . " was called via the command line, but had no host as a parameter.\n";
exit(1);
}
$host = trim($GLOBALS['argv'][1]);
} else {
$host = getHostName();
}
// Is the system running the test environment?
if (is_null($configFile) && defined('TEST_ENVIRONMENT_RUNNING')) {
if (isset($_SERVER['SERVER_NAME'])) {
// If test runs from web-client first check if host test config exists
// This could be used to have different tests for different configurations
$testFilePath = $configPath . '/'.$host.'.test.conf' . $type;
if (file_exists($testFilePath)) {
return @parse_ini_file($testFilePath, $sections);
}
}
// Does the test environment config exist?
$testFilePath = $configPath . '/test.conf' . $type;
if (file_exists($testFilePath)) {
return @parse_ini_file($testFilePath, $sections);
} else {
// Define a value so that we know the testing environment is not
// configured, so that the TestRenner class knows not to run any
// tests, and return an empty config
define('TEST_ENVIRONMENT_NO_CONFIG', true);
return array();
}
}
// Is the .ini file for the hostname being used directly accessible?
if (file_exists($configPath . '/' . $host . $configFile . '.conf' . $type)) {
// Parse the configuration file
$conf = @parse_ini_file($configPath . '/' . $host . $configFile . '.conf' . $type, $sections);
// Is this a real config file?
if (!isset($conf['realConfig'])) {
// Yes, return the parsed configuration file
return $conf;
}
// Parse and return the real configuration .ini file
if (file_exists($configPath . '/' . $conf['realConfig'] . $configFile . '.conf' . $type)) {
$realConfig = @parse_ini_file(MAX_PATH . '/var/' . $conf['realConfig'] . '.conf' . $type, true);
return mergeConfigFiles($realConfig, $conf);
}
} elseif ($configFile === '.plugin') {
// For plugins, if no configuration file is found, return the sane default values
$pluginType = basename($configPath);
$defaultConfig = MAX_PATH . '/plugins/' . $pluginType . '/default.plugin.conf' . $type;
if (file_exists($defaultConfig)) {
return parse_ini_file($defaultConfig, $sections);
} else {
echo MAX_PRODUCT_NAME . " could not read the default configuration file for the {$pluginType} plugin";
exit(1);
}
}
// Check for a default.conf.php file...
if (file_exists($configPath . '/default' . $configFile . '.conf' . $type)) {
// Parse the configuration file
$conf = @parse_ini_file($configPath . '/default' . $configFile . '.conf' . $type, $sections);
// Is this a real config file?
if (!isset($conf['realConfig'])) {
// Yes, return the parsed configuration file
return $conf;
}
// Parse and return the real configuration .ini file
if (file_exists($configPath . '/' . $conf['realConfig'] . $configFile . '.conf' . $type)) {
$realConfig = @parse_ini_file(MAX_PATH . '/var/' . $conf['realConfig'] . '.conf' . $type, true);
return mergeConfigFiles($realConfig, $conf);
}
}
// Got all this way, and no configuration file yet found - maybe
// the user is upgrading from an old version where the config
// files have a .ini prefix instead of .php...
global $installing;
if ($installing)
{
// ah but MMM might be installed, check for the ini file
if (file_exists($configPath . '/' . $host . $configFile . '.conf.ini'))
{
return parseIniFile($configPath, $configFile, $sections, '.ini');
}
if (!$configFile)
{
// Openads hasn't been installed, so use the distribution .ini file
// this deals with letting a PAN install get into the ugprader
return @parse_ini_file(MAX_PATH . '/etc/dist.conf.php', $sections);
}
//return parseIniFile($configPath, $configFile, $sections, '.ini');
}
// Check to ensure Openads hasn't been installed
if (file_exists(MAX_PATH . '/var/INSTALLED'))
{
// ah but MMM might be installed, check for the ini file
if (file_exists($configPath . '/' . $host . $configFile . '.conf.ini'))
{
return parseIniFile($configPath, $configFile, $sections, '.ini');
}
echo MAX_PRODUCT_NAME . " has been installed, but no configuration file ".$configPath . '/' . $host . $configFile . '.conf.php'." was found.\n";
exit(1);
}
// Openads hasn't been installed, so use the distribution .ini file
return @parse_ini_file(MAX_PATH . '/etc/dist.conf.php', $sections);
}
?>
----------------------------------------------------------------------------------------------------------------------------------------------
variables.php kodları şu şekilde
<?php
/**
* Setup common variables - used by both delivery and admin part as well
*
* This function should be executed after the config file is read in.
*
* The reason behind using GLOBAL variables is that
* there are faster than constants
*/
function setupConfigVariables()
{
$GLOBALS['_MAX']['MAX_DELIVERY_MULTIPLE_DELIMITER'] = '|';
$GLOBALS['_MAX']['MAX_COOKIELESS_PREFIX'] = '__';
// Set the URL access mechanism
if (!empty($GLOBALS['_MAX']['CONF']['openads']['requireSSL'])) {
$GLOBALS['_MAX']['HTTP'] = 'https://';
} else {
if (isset($_SERVER['SERVER_PORT'])) {
if (isset($GLOBALS['_MAX']['CONF']['openads']['sslPort'])
&& $_SERVER['SERVER_PORT'] == $GLOBALS['_MAX']['CONF']['openads']['sslPort'])
{
$GLOBALS['_MAX']['HTTP'] = 'https://';
} else {
$GLOBALS['_MAX']['HTTP'] = 'http://';
}
}
}
// Maximum random number (use default if doesn't exist - eg the case when application is upgraded)
$GLOBALS['_MAX']['MAX_RAND'] = isset($GLOBALS['_MAX']['CONF']['priority']['randmax']) ?
$GLOBALS['_MAX']['CONF']['priority']['randmax'] : 2147483647;
// Set time zone, for more info @see setTimeZoneLocation()
if (!empty($GLOBALS['_MAX']['CONF']['timezone']['location'])) {
setTimeZoneLocation($GLOBALS['_MAX']['CONF']['timezone']['location']);
}
}
/**
* A function to initialize $_SERVER variables which could be missing
* on some environments
*
*/
function setupServerVariables()
{
// PHP-CGI/IIS combination does not set REQUEST_URI
if (empty($_SERVER['REQUEST_URI'])) {
$_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'];
if (!empty($_SERVER['QUERY_STRING'])) {
$_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING'];
}
}
}
/**
* A function to initialize the environmental constants and global
* variables required by delivery.
*/
function setupDeliveryConfigVariables()
{
if (!defined('MAX_PATH')) {
define('MAX_PATH', dirname(__FILE__));
}
// Ensure that the initialisation has not been run before
if ( !(isset($GLOBALS['_MAX']['CONF']))) {
// Parse the Max configuration file
$GLOBALS['_MAX']['CONF'] = parseDeliveryIniFile();
}
// Set up the common configuration variables
setupConfigVariables();
}
/**
* Set a timezone location using the proper method for the user's PHP
* version.
*
* Ensure that the TZ environment variable is set for PHP < 5.1.0, so
* that PEAR::Date class knows which timezone we are in, and doesn't
* screw up the dates after using the PEAR::compare() method; also,
* ensure that an appropriate timezone is set, if required, to allow
* the time zone to be other than the time zone of the server.
*
* @param string $location Time zone location
*/
function setTimeZoneLocation($location)
{
if (version_compare(phpversion(), '5.1.0', '>=')) {
// Set new time zone
date_default_timezone_set($location);
} else {
// Set new time zone
putenv("TZ={$location}");
}
}
/**
* Returns the hostname the script is running under.
*
* @return string containing the hostname (with port number stripped).
*/
function getHostName()
{
if (!empty($_SERVER['HTTP_HOST'])) {
$host = explode(':', $_SERVER['HTTP_HOST']);
$host = $host[0];
} else if (!empty($_SERVER['SERVER_NAME'])) {
$host = explode(':', $_SERVER['SERVER_NAME']);
$host = $host[0];
}
return $host;
}
/**
* Returns the hostname (with port) the script is running under.
*
* @return string containing the hostname with port
*/
function getHostNameWithPort()
{
if (!empty($_SERVER['HTTP_HOST'])) {
$host = $_SERVER['HTTP_HOST'];
} else if (!empty($_SERVER['SERVER_NAME'])) {
$host = $_SERVER['SERVER_NAME'];
}
return $host;
}
/**
* A function to define the PEAR include path in a separate method,
* as it is required by delivery only in exceptional circumstances.
*/
function setupIncludePath()
{
static $checkIfAlreadySet;
if (isset($checkIfAlreadySet)) {
return;
}
$checkIfAlreadySet = true;
// Define the PEAR installation path
$existingPearPath = ini_get('include_path');
$newPearPath = MAX_PATH . DIRECTORY_SEPARATOR.'lib' . DIRECTORY_SEPARATOR . 'pear';
if (!empty($existingPearPath)) {
$newPearPath .= PATH_SEPARATOR . $existingPearPath;
}
ini_set('include_path', $newPearPath);
}
/**
* Returns minimum required amount of memory for used PHP version
*
* @return integer Required minimum amount of memory (in bytes)
*/
function getMinimumRequiredMemory()
{
if (version_compare(phpversion(), '5.2.0', '>=')) {
return $GLOBALS['_MAX']['REQUIRED_MEMORY']['PHP5'];
}
return $GLOBALS['_MAX']['REQUIRED_MEMORY']['PHP4'];
}
/**
* Set a minimum amount of memory required by Openads
*
* @param integer $setMemory A new memory limit (in bytes)
* @return boolean true if memory is already bigger or when an attempt to
* set a memory was succesfull, else false
*/
function increaseMemoryLimit($setMemory) {
$memory = getMemorySizeInBytes();
if ($memory == -1) {
// unlimited
return true;
}
if ($setMemory > $memory) {
if (@ini_set('memory_limit', $setMemory) === false) {
return false;
}
}
return true;
}
/**
* Check how much memory is available for php, converts it into bytes and returns.
*
* @param mixed $size The size to be converted
* @return mixed
*/
function getMemorySizeInBytes() {
$phpMemory = ini_get('memory_limit');
if (empty($phpMemory) || $phpMemory == -1) {
// unlimited
return -1;
}
$aSize = array(
'G' => 1073741824,
'M' => 1048576,
'K' => 1024
);
$size = $phpMemory;
foreach($aSize as $type => $multiplier) {
$pos = strpos($phpMemory, $type);
if (!$pos) {
$pos = strpos($phpMemory, strtolower($type));
}
if ($pos) {
$size = substr($phpMemory, 0, $pos) * $multiplier;
}
}
return $size;
}
?>